Large and complex IT service management environments that provide multiple services to a plurality of customers can create an unmanageable number of entities. It is best practice to make use of a logically centralized repository for the storage and access of the data, commonly referred to as a CMDB. The configuration data stored in this CMDB includes a representation of managed resources; such a representation is called a CI. CMDB CIs represent an extensive range of logical and physical entities and their complex relationships. A typical implementation of a CMDB may contain more than 800 abstract object classes, with implicit and explicit relationships between them that may be extended in an open-ended fashion.
Organizing entities into dependency trees or graphs for a high-level view of the topology eases systems management. A CMDB is broad and semantically rich enough that it may apply to higher layers such as, for example, a business process or a distributed application. A CMDB is also granular enough to represent, for example, tables in a database or enterprise Java beans (EJBs) used in an enterprise application. In real-world enterprise systems, there may be tens of thousands or more entities with complex relationships between them. Compositions are ideally suited to multi-layered topologies.
The CMDB records the existence, attributes, relationships, history and status of CIs. An attribute is a descriptive characteristic of a CI such as, for example, make, model, serial number, or location. A relationship describes associations, such as, for example, the dependency and/or connectivity between CIs.
Changes to CIs may be reflected within the CMDB by maintaining a record of such changes called a change history. As changes are made to CIs, some changes may be authorized by reference to controlling documents such as Request for Changes (RFCs) in accordance with IT Infrastructure Library best practices. These authorized changes will be intermingled with unauthorized changes as part of the overall change history. Therefore in looking at the current state of a CI, the administrator, or user of the CMDB, will be unaware of the correct authorized state of the CMDB, and unable to understand it without analyzing all changes since the inception of the CI.